<!-- HTML header for doxygen 1.8.18-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Ipopt: org.coinor.Ipopt Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="stylesheet.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 40px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Ipopt Documentation
   &#160;<!--span id="projectnumber">3.14.12</span-->
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classorg_1_1coinor_1_1Ipopt.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classorg_1_1coinor_1_1Ipopt-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">org.coinor.Ipopt Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>A Java Native Interface for the <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> optimization solver.  
 <a href="classorg_1_1coinor_1_1Ipopt.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ab140cae4c428047f583ca789df5e5495"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ab140cae4c428047f583ca789df5e5495">Ipopt</a> ()</td></tr>
<tr class="memdesc:ab140cae4c428047f583ca789df5e5495"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new NLP Solver using a default as the DLL name.  <a href="classorg_1_1coinor_1_1Ipopt.html#ab140cae4c428047f583ca789df5e5495">More...</a><br /></td></tr>
<tr class="separator:ab140cae4c428047f583ca789df5e5495"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f65d8c507f1ac7b3386dcd92e9a70e8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a3f65d8c507f1ac7b3386dcd92e9a70e8">Ipopt</a> (String DLL)</td></tr>
<tr class="memdesc:a3f65d8c507f1ac7b3386dcd92e9a70e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a NLP Solver for the given DLL file.  <a href="classorg_1_1coinor_1_1Ipopt.html#a3f65d8c507f1ac7b3386dcd92e9a70e8">More...</a><br /></td></tr>
<tr class="separator:a3f65d8c507f1ac7b3386dcd92e9a70e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a400135e918a4b6377ea4581411ac2298"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a400135e918a4b6377ea4581411ac2298">Ipopt</a> (String path, String DLL)</td></tr>
<tr class="memdesc:a400135e918a4b6377ea4581411ac2298"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a NLP Solver for the given DLL file and path.  <a href="classorg_1_1coinor_1_1Ipopt.html#a400135e918a4b6377ea4581411ac2298">More...</a><br /></td></tr>
<tr class="separator:a400135e918a4b6377ea4581411ac2298"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f81bd51d53915702ad63a651e5c9d6b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a6f81bd51d53915702ad63a651e5c9d6b">dispose</a> ()</td></tr>
<tr class="memdesc:a6f81bd51d53915702ad63a651e5c9d6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dispose of the natively allocated memory.  <a href="classorg_1_1coinor_1_1Ipopt.html#a6f81bd51d53915702ad63a651e5c9d6b">More...</a><br /></td></tr>
<tr class="separator:a6f81bd51d53915702ad63a651e5c9d6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a974f513fe0380fa5feb582855657ea49"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a974f513fe0380fa5feb582855657ea49">create</a> (int n, int m, int nele_jac, int nele_hess, int index_style)</td></tr>
<tr class="memdesc:a974f513fe0380fa5feb582855657ea49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new problem.  <a href="classorg_1_1coinor_1_1Ipopt.html#a974f513fe0380fa5feb582855657ea49">More...</a><br /></td></tr>
<tr class="separator:a974f513fe0380fa5feb582855657ea49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7be6b14ffc43b7883b3f59d9920b0a56"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a7be6b14ffc43b7883b3f59d9920b0a56">setIntegerOption</a> (String keyword, int val)</td></tr>
<tr class="memdesc:a7be6b14ffc43b7883b3f59d9920b0a56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for setting an integer option.  <a href="classorg_1_1coinor_1_1Ipopt.html#a7be6b14ffc43b7883b3f59d9920b0a56">More...</a><br /></td></tr>
<tr class="separator:a7be6b14ffc43b7883b3f59d9920b0a56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7a464793c01a39c4e68f093f960056e"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ac7a464793c01a39c4e68f093f960056e">setNumericOption</a> (String keyword, double val)</td></tr>
<tr class="memdesc:ac7a464793c01a39c4e68f093f960056e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for setting a number option.  <a href="classorg_1_1coinor_1_1Ipopt.html#ac7a464793c01a39c4e68f093f960056e">More...</a><br /></td></tr>
<tr class="separator:ac7a464793c01a39c4e68f093f960056e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b8c641615793cd0f55c94447e43018c"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a0b8c641615793cd0f55c94447e43018c">setStringOption</a> (String keyword, String val)</td></tr>
<tr class="memdesc:a0b8c641615793cd0f55c94447e43018c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function for setting a string option.  <a href="classorg_1_1coinor_1_1Ipopt.html#a0b8c641615793cd0f55c94447e43018c">More...</a><br /></td></tr>
<tr class="separator:a0b8c641615793cd0f55c94447e43018c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1d61a61ade3ef02dea4441196f42b95"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ae1d61a61ade3ef02dea4441196f42b95">OptimizeNLP</a> ()</td></tr>
<tr class="memdesc:ae1d61a61ade3ef02dea4441196f42b95"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function actually solve the problem.  <a href="classorg_1_1coinor_1_1Ipopt.html#ae1d61a61ade3ef02dea4441196f42b95">More...</a><br /></td></tr>
<tr class="separator:ae1d61a61ade3ef02dea4441196f42b95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac99c6c1aa98865aa73a2b1079a671024"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ac99c6c1aa98865aa73a2b1079a671024">get_curr_iterate</a> (long ip_data, long ip_cq, boolean scaled, int n, double <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a4d0279b61ddf81f2c137dc016b1f4c92">x</a>[], double z_L[], double z_U[], int m, double <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a46d765adde7a0da8980734b7c4f41aff">g</a>[], double lambda[])</td></tr>
<tr class="memdesc:ac99c6c1aa98865aa73a2b1079a671024"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get primal and dual variable values of the current iterate.  <a href="classorg_1_1coinor_1_1Ipopt.html#ac99c6c1aa98865aa73a2b1079a671024">More...</a><br /></td></tr>
<tr class="separator:ac99c6c1aa98865aa73a2b1079a671024"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6596d5beb266e5e60d57a9d5e52c8efa"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a6596d5beb266e5e60d57a9d5e52c8efa">get_curr_violations</a> (long ip_data, long ip_cq, boolean scaled, int n, double x_L_violation[], double x_U_violation[], double compl_x_L[], double compl_x_U[], double grad_lag_x[], int m, double nlp_constraint_violation[], double compl_g[])</td></tr>
<tr class="memdesc:a6596d5beb266e5e60d57a9d5e52c8efa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get primal and dual infeasibility of the current iterate.  <a href="classorg_1_1coinor_1_1Ipopt.html#a6596d5beb266e5e60d57a9d5e52c8efa">More...</a><br /></td></tr>
<tr class="separator:a6596d5beb266e5e60d57a9d5e52c8efa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a006f218ae1bc42c63216db173b42223f"><td class="memItemLeft" align="right" valign="top">double[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a006f218ae1bc42c63216db173b42223f">getVariableValues</a> ()</td></tr>
<tr class="memdesc:a006f218ae1bc42c63216db173b42223f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gives primal variable values at final point.  <a href="classorg_1_1coinor_1_1Ipopt.html#a006f218ae1bc42c63216db173b42223f">More...</a><br /></td></tr>
<tr class="separator:a006f218ae1bc42c63216db173b42223f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e22ba48fd43ad6e07bc133d0b46dca3"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a6e22ba48fd43ad6e07bc133d0b46dca3">getObjectiveValue</a> ()</td></tr>
<tr class="memdesc:a6e22ba48fd43ad6e07bc133d0b46dca3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gives objective function value at final point.  <a href="classorg_1_1coinor_1_1Ipopt.html#a6e22ba48fd43ad6e07bc133d0b46dca3">More...</a><br /></td></tr>
<tr class="separator:a6e22ba48fd43ad6e07bc133d0b46dca3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9eebd3ea4266623fd1e006d1d676dac5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a9eebd3ea4266623fd1e006d1d676dac5">getStatus</a> ()</td></tr>
<tr class="memdesc:a9eebd3ea4266623fd1e006d1d676dac5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gives <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> status of last OptimizeNLP call.  <a href="classorg_1_1coinor_1_1Ipopt.html#a9eebd3ea4266623fd1e006d1d676dac5">More...</a><br /></td></tr>
<tr class="separator:a9eebd3ea4266623fd1e006d1d676dac5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e5163decdb3eb601b533fb4fa2eb799"><td class="memItemLeft" align="right" valign="top">double[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a5e5163decdb3eb601b533fb4fa2eb799">getConstraintValues</a> ()</td></tr>
<tr class="memdesc:a5e5163decdb3eb601b533fb4fa2eb799"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gives constraint function values at final point.  <a href="classorg_1_1coinor_1_1Ipopt.html#a5e5163decdb3eb601b533fb4fa2eb799">More...</a><br /></td></tr>
<tr class="separator:a5e5163decdb3eb601b533fb4fa2eb799"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1882082223e449aee081fd9c22c25644"><td class="memItemLeft" align="right" valign="top">double[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a1882082223e449aee081fd9c22c25644">getConstraintMultipliers</a> ()</td></tr>
<tr class="memdesc:a1882082223e449aee081fd9c22c25644"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gives constraint dual multipliers in final point.  <a href="classorg_1_1coinor_1_1Ipopt.html#a1882082223e449aee081fd9c22c25644">More...</a><br /></td></tr>
<tr class="separator:a1882082223e449aee081fd9c22c25644"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa853ce288ebbb156ee49a31c6632de8f"><td class="memItemLeft" align="right" valign="top">double[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#aa853ce288ebbb156ee49a31c6632de8f">getLowerBoundMultipliers</a> ()</td></tr>
<tr class="memdesc:aa853ce288ebbb156ee49a31c6632de8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gives dual multipliers for variable lower bounds in final point.  <a href="classorg_1_1coinor_1_1Ipopt.html#aa853ce288ebbb156ee49a31c6632de8f">More...</a><br /></td></tr>
<tr class="separator:aa853ce288ebbb156ee49a31c6632de8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f559255a7c9f289644c5b320c06e3cc"><td class="memItemLeft" align="right" valign="top">double[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a7f559255a7c9f289644c5b320c06e3cc">getUpperBoundMultipliers</a> ()</td></tr>
<tr class="memdesc:a7f559255a7c9f289644c5b320c06e3cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gives dual multipliers for variable upper bounds in final point.  <a href="classorg_1_1coinor_1_1Ipopt.html#a7f559255a7c9f289644c5b320c06e3cc">More...</a><br /></td></tr>
<tr class="separator:a7f559255a7c9f289644c5b320c06e3cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64b80dde363aebc64802b3ad950a7a06"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a64b80dde363aebc64802b3ad950a7a06">intermediate_callback</a> (int algorithmmode, int iter, double obj_value, double inf_pr, double inf_du, double mu, double d_norm, double regularization_size, double alpha_du, double alpha_pr, int ls_trials, long ip_data, long ip_cq)</td></tr>
<tr class="memdesc:a64b80dde363aebc64802b3ad950a7a06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intermediate Callback method for the user.  <a href="classorg_1_1coinor_1_1Ipopt.html#a64b80dde363aebc64802b3ad950a7a06">More...</a><br /></td></tr>
<tr class="separator:a64b80dde363aebc64802b3ad950a7a06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28c05534837bdcae5d2c52358d7d8929"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a28c05534837bdcae5d2c52358d7d8929">get_scaling_parameters</a> (double[] obj_scaling, int n, double[] x_scaling, int m, double[] g_scaling, boolean[] use_x_g_scaling)</td></tr>
<tr class="memdesc:a28c05534837bdcae5d2c52358d7d8929"><td class="mdescLeft">&#160;</td><td class="mdescRight">If you using_scaling_parameters = true, this method should be overloaded.  <a href="classorg_1_1coinor_1_1Ipopt.html#a28c05534837bdcae5d2c52358d7d8929">More...</a><br /></td></tr>
<tr class="separator:a28c05534837bdcae5d2c52358d7d8929"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4a6b09656bdb836851c22baf0112e47"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ae4a6b09656bdb836851c22baf0112e47">get_number_of_nonlinear_variables</a> ()</td></tr>
<tr class="memdesc:ae4a6b09656bdb836851c22baf0112e47"><td class="mdescLeft">&#160;</td><td class="mdescRight">When LBFGS hessian approximation is used, this method should be overloaded.  <a href="classorg_1_1coinor_1_1Ipopt.html#ae4a6b09656bdb836851c22baf0112e47">More...</a><br /></td></tr>
<tr class="separator:ae4a6b09656bdb836851c22baf0112e47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c67cda248766e9f66d749fa99f432a7"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a9c67cda248766e9f66d749fa99f432a7">get_list_of_nonlinear_variables</a> (int num_nonlin_vars, int[] pos_nonlin_vars)</td></tr>
<tr class="memdesc:a9c67cda248766e9f66d749fa99f432a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">When LBFGS hessian approximation is used, this method should be overloaded.  <a href="classorg_1_1coinor_1_1Ipopt.html#a9c67cda248766e9f66d749fa99f432a7">More...</a><br /></td></tr>
<tr class="separator:a9c67cda248766e9f66d749fa99f432a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a4443ff7d1619c147a03ec0d33dde3c94"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a4443ff7d1619c147a03ec0d33dde3c94">C_STYLE</a> = 0</td></tr>
<tr class="memdesc:a4443ff7d1619c147a03ec0d33dde3c94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use C index style for iRow and jCol vectors.  <a href="classorg_1_1coinor_1_1Ipopt.html#a4443ff7d1619c147a03ec0d33dde3c94">More...</a><br /></td></tr>
<tr class="separator:a4443ff7d1619c147a03ec0d33dde3c94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad22ccf5588351d02b727a02a7cddd933"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ad22ccf5588351d02b727a02a7cddd933">FORTRAN_STYLE</a> = 1</td></tr>
<tr class="memdesc:ad22ccf5588351d02b727a02a7cddd933"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use FORTRAN index style for iRow and jCol vectors.  <a href="classorg_1_1coinor_1_1Ipopt.html#ad22ccf5588351d02b727a02a7cddd933">More...</a><br /></td></tr>
<tr class="separator:ad22ccf5588351d02b727a02a7cddd933"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06e22b2ef0b1d1bf4d2d7ff49c228404"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a06e22b2ef0b1d1bf4d2d7ff49c228404">SOLVE_SUCCEEDED</a> = 0</td></tr>
<tr class="separator:a06e22b2ef0b1d1bf4d2d7ff49c228404"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabd4d7c743b373810d1cf25c64099871"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#aabd4d7c743b373810d1cf25c64099871">ACCEPTABLE_LEVEL</a> = 1</td></tr>
<tr class="separator:aabd4d7c743b373810d1cf25c64099871"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b66fa1fe9f3aafb1b9c35357b9d4a35"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a1b66fa1fe9f3aafb1b9c35357b9d4a35">INFEASIBLE_PROBLEM</a> = 2</td></tr>
<tr class="separator:a1b66fa1fe9f3aafb1b9c35357b9d4a35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71cca49bd302b1242449eb3b393d348b"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a71cca49bd302b1242449eb3b393d348b">SEARCH_DIRECTION_TOO_SMALL</a> = 3</td></tr>
<tr class="separator:a71cca49bd302b1242449eb3b393d348b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18e6b30304b999c437d1ce5f8e363287"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a18e6b30304b999c437d1ce5f8e363287">DIVERGING_ITERATES</a> = 4</td></tr>
<tr class="separator:a18e6b30304b999c437d1ce5f8e363287"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb69198b1498dbb9c51c56607406a414"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#abb69198b1498dbb9c51c56607406a414">USER_REQUESTED_STOP</a> = 5</td></tr>
<tr class="separator:abb69198b1498dbb9c51c56607406a414"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f2a52a6c5606b6703f02035914a2552"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a7f2a52a6c5606b6703f02035914a2552">ITERATION_EXCEEDED</a> = -1</td></tr>
<tr class="separator:a7f2a52a6c5606b6703f02035914a2552"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7f5039b29dd61866610e3a8e8a403b8"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ac7f5039b29dd61866610e3a8e8a403b8">RESTORATION_FAILED</a> = -2</td></tr>
<tr class="separator:ac7f5039b29dd61866610e3a8e8a403b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7d1d406f9705fda644a3c1fdc31c904"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ab7d1d406f9705fda644a3c1fdc31c904">ERROR_IN_STEP_COMPUTATION</a> = -3</td></tr>
<tr class="separator:ab7d1d406f9705fda644a3c1fdc31c904"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af915b9705da65d4ec1dfaf7b5889c61c"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#af915b9705da65d4ec1dfaf7b5889c61c">CPUTIME_EXCEEDED</a> = -4</td></tr>
<tr class="separator:af915b9705da65d4ec1dfaf7b5889c61c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01a8754e65054cb811e22ad371258c36"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a01a8754e65054cb811e22ad371258c36">WALLTIME_EXCEEDED</a> = -5</td></tr>
<tr class="separator:a01a8754e65054cb811e22ad371258c36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b51f92e8764572d9c48569908a22dce"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a5b51f92e8764572d9c48569908a22dce">NOT_ENOUGH_DEGREES_OF_FRE</a> = -10</td></tr>
<tr class="separator:a5b51f92e8764572d9c48569908a22dce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6601c123db771db778c4c25061327048"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a6601c123db771db778c4c25061327048">INVALID_PROBLEM_DEFINITION</a> = -11</td></tr>
<tr class="separator:a6601c123db771db778c4c25061327048"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0b37ea4f81ff1dc33d0738a25aef2cd"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#aa0b37ea4f81ff1dc33d0738a25aef2cd">INVALID_OPTION</a> = -12</td></tr>
<tr class="separator:aa0b37ea4f81ff1dc33d0738a25aef2cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9005b727656170847da4498472d44be0"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a9005b727656170847da4498472d44be0">INVALID_NUMBER_DETECTED</a> = -13</td></tr>
<tr class="separator:a9005b727656170847da4498472d44be0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40720118bf5c1cfe52c265700c1a7ab7"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a40720118bf5c1cfe52c265700c1a7ab7">UNRECOVERABLE_EXCEPTION</a> = -100</td></tr>
<tr class="separator:a40720118bf5c1cfe52c265700c1a7ab7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3f7ebbac769cbf00c30a2d1e7ca124a"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ac3f7ebbac769cbf00c30a2d1e7ca124a">NON_IPOPT_EXCEPTION</a> = -101</td></tr>
<tr class="separator:ac3f7ebbac769cbf00c30a2d1e7ca124a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59b78aca47982a3930ff05caa43d89dd"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a59b78aca47982a3930ff05caa43d89dd">INSUFFICIENT_MEMORY</a> = -102</td></tr>
<tr class="separator:a59b78aca47982a3930ff05caa43d89dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd5a2fcda4688ceef6ad841d2cb7f627"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#afd5a2fcda4688ceef6ad841d2cb7f627">INTERNAL_ERROR</a> = -199</td></tr>
<tr class="separator:afd5a2fcda4688ceef6ad841d2cb7f627"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af185184ae1fe687e64a5f5880c48813d"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#af185184ae1fe687e64a5f5880c48813d">REGULARMODE</a> = 0</td></tr>
<tr class="separator:af185184ae1fe687e64a5f5880c48813d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f2f733983ced5bb2db465a6e9329a45"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a3f2f733983ced5bb2db465a6e9329a45">RESTORATIONPHASEMODE</a> = 1</td></tr>
<tr class="separator:a3f2f733983ced5bb2db465a6e9329a45"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:accab4abbd131031465d261fbed4eba4a"><td class="memItemLeft" align="right" valign="top">abstract boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#accab4abbd131031465d261fbed4eba4a">get_bounds_info</a> (int n, double[] x_l, double[] x_u, int m, double[] g_l, double[] g_u)</td></tr>
<tr class="memdesc:accab4abbd131031465d261fbed4eba4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method to request bounds on the variables and constraints.  <a href="classorg_1_1coinor_1_1Ipopt.html#accab4abbd131031465d261fbed4eba4a">More...</a><br /></td></tr>
<tr class="separator:accab4abbd131031465d261fbed4eba4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a239c7ca7247de559e4ee50fd3fbf77c1"><td class="memItemLeft" align="right" valign="top">abstract boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a239c7ca7247de559e4ee50fd3fbf77c1">get_starting_point</a> (int n, boolean init_x, double[] <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a4d0279b61ddf81f2c137dc016b1f4c92">x</a>, boolean init_z, double[] z_L, double[] z_U, int m, boolean init_lambda, double[] lambda)</td></tr>
<tr class="memdesc:a239c7ca7247de559e4ee50fd3fbf77c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method to request the starting point before iterating.  <a href="classorg_1_1coinor_1_1Ipopt.html#a239c7ca7247de559e4ee50fd3fbf77c1">More...</a><br /></td></tr>
<tr class="separator:a239c7ca7247de559e4ee50fd3fbf77c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80bae3cab08d6fdab223d74cf33e5f02"><td class="memItemLeft" align="right" valign="top">abstract boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a80bae3cab08d6fdab223d74cf33e5f02">eval_f</a> (int n, double[] <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a4d0279b61ddf81f2c137dc016b1f4c92">x</a>, boolean new_x, double[] obj_value)</td></tr>
<tr class="memdesc:a80bae3cab08d6fdab223d74cf33e5f02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method to request the value of the objective function.  <a href="classorg_1_1coinor_1_1Ipopt.html#a80bae3cab08d6fdab223d74cf33e5f02">More...</a><br /></td></tr>
<tr class="separator:a80bae3cab08d6fdab223d74cf33e5f02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77ead30aae6f366cdd41d566893199ef"><td class="memItemLeft" align="right" valign="top">abstract boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a77ead30aae6f366cdd41d566893199ef">eval_grad_f</a> (int n, double[] <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a4d0279b61ddf81f2c137dc016b1f4c92">x</a>, boolean new_x, double[] grad_f)</td></tr>
<tr class="memdesc:a77ead30aae6f366cdd41d566893199ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method to request the gradient of the objective function.  <a href="classorg_1_1coinor_1_1Ipopt.html#a77ead30aae6f366cdd41d566893199ef">More...</a><br /></td></tr>
<tr class="separator:a77ead30aae6f366cdd41d566893199ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04825d67738e9017df30846060f8a660"><td class="memItemLeft" align="right" valign="top">abstract boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a04825d67738e9017df30846060f8a660">eval_g</a> (int n, double[] <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a4d0279b61ddf81f2c137dc016b1f4c92">x</a>, boolean new_x, int m, double[] <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a46d765adde7a0da8980734b7c4f41aff">g</a>)</td></tr>
<tr class="memdesc:a04825d67738e9017df30846060f8a660"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method to request the constraint values.  <a href="classorg_1_1coinor_1_1Ipopt.html#a04825d67738e9017df30846060f8a660">More...</a><br /></td></tr>
<tr class="separator:a04825d67738e9017df30846060f8a660"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fc8279558b81381c39f7b7136b6890a"><td class="memItemLeft" align="right" valign="top">abstract boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a2fc8279558b81381c39f7b7136b6890a">eval_jac_g</a> (int n, double[] <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a4d0279b61ddf81f2c137dc016b1f4c92">x</a>, boolean new_x, int m, int nele_jac, int[] iRow, int[] jCol, double[] values)</td></tr>
<tr class="memdesc:a2fc8279558b81381c39f7b7136b6890a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method to request either the sparsity structure or the values of the Jacobian of the constraints.  <a href="classorg_1_1coinor_1_1Ipopt.html#a2fc8279558b81381c39f7b7136b6890a">More...</a><br /></td></tr>
<tr class="separator:a2fc8279558b81381c39f7b7136b6890a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8338a6f69c453de7e0c7d02309fce4f9"><td class="memItemLeft" align="right" valign="top">abstract boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a8338a6f69c453de7e0c7d02309fce4f9">eval_h</a> (int n, double[] <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a4d0279b61ddf81f2c137dc016b1f4c92">x</a>, boolean new_x, double obj_factor, int m, double[] lambda, boolean new_lambda, int nele_hess, int[] iRow, int[] jCol, double[] values)</td></tr>
<tr class="memdesc:a8338a6f69c453de7e0c7d02309fce4f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method to request either the sparsity structure or the values of the Hessian of the Lagrangian.  <a href="classorg_1_1coinor_1_1Ipopt.html#a8338a6f69c453de7e0c7d02309fce4f9">More...</a><br /></td></tr>
<tr class="separator:a8338a6f69c453de7e0c7d02309fce4f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af97dda92a9fa67678dcdd86ab28c2fae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#af97dda92a9fa67678dcdd86ab28c2fae">finalize</a> ()  throws Throwable    </td></tr>
<tr class="separator:af97dda92a9fa67678dcdd86ab28c2fae"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a3372d37c34ef8716b2a2d5bf5eed64be"><td class="memItemLeft" align="right" valign="top">native boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a3372d37c34ef8716b2a2d5bf5eed64be">AddIpoptIntOption</a> (long <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#aaccf6965122e89d86f4ac57d950787e7">ipopt</a>, String keyword, int val)</td></tr>
<tr class="separator:a3372d37c34ef8716b2a2d5bf5eed64be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3b0533ed600d1a350c39cc7ac314657"><td class="memItemLeft" align="right" valign="top">native boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ac3b0533ed600d1a350c39cc7ac314657">AddIpoptNumOption</a> (long <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#aaccf6965122e89d86f4ac57d950787e7">ipopt</a>, String keyword, double val)</td></tr>
<tr class="separator:ac3b0533ed600d1a350c39cc7ac314657"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a851e5c9e543e9de8b89061d527e0e39a"><td class="memItemLeft" align="right" valign="top">native boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a851e5c9e543e9de8b89061d527e0e39a">AddIpoptStrOption</a> (long <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#aaccf6965122e89d86f4ac57d950787e7">ipopt</a>, String keyword, String val)</td></tr>
<tr class="separator:a851e5c9e543e9de8b89061d527e0e39a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3e70c3f0c045077b086199f7a7b5a19"><td class="memItemLeft" align="right" valign="top">native long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ad3e70c3f0c045077b086199f7a7b5a19">CreateIpoptProblem</a> (int n, int m, int nele_jac, int nele_hess, int index_style)</td></tr>
<tr class="separator:ad3e70c3f0c045077b086199f7a7b5a19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5135398105ea5616a141397bd043ee64"><td class="memItemLeft" align="right" valign="top">native void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a5135398105ea5616a141397bd043ee64">FreeIpoptProblem</a> (long <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#aaccf6965122e89d86f4ac57d950787e7">ipopt</a>)</td></tr>
<tr class="separator:a5135398105ea5616a141397bd043ee64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d9fd1045e1dcef18fd16c52161be407"><td class="memItemLeft" align="right" valign="top">native int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a4d9fd1045e1dcef18fd16c52161be407">OptimizeTNLP</a> (long <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#aaccf6965122e89d86f4ac57d950787e7">ipopt</a>, double <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a4d0279b61ddf81f2c137dc016b1f4c92">x</a>[], double <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a46d765adde7a0da8980734b7c4f41aff">g</a>[], double <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a9cdb448d319b75a8ffad2ae1df8c6551">obj_val</a>[], double <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ab0910d0da9b1a0edc3dfb655abfdf0ea">mult_g</a>[], double <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ab4cf62cbe73667cb903e9dcddae881dd">mult_x_L</a>[], double <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a43a18366b435f807bb7dc9b28de4b7f9">mult_x_U</a>[], double <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ae7d529ffa405d16fb69750e855bc6a40">callback_grad_f</a>[], double <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a3d43f354d13771f3e7c45fe66949cdf0">callback_jac_g</a>[], double <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a1294b1186358327819b4a02bbfedbd07">callback_hess</a>[])</td></tr>
<tr class="separator:a4d9fd1045e1dcef18fd16c52161be407"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e0e0ec4d50fee0fb749a9005449a6ae"><td class="memItemLeft" align="right" valign="top">native boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a1e0e0ec4d50fee0fb749a9005449a6ae">GetCurrIterate</a> (long <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#aaccf6965122e89d86f4ac57d950787e7">ipopt</a>, long ip_data, long ip_cq, boolean scaled, int n, double <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a4d0279b61ddf81f2c137dc016b1f4c92">x</a>[], double z_L[], double z_U[], int m, double <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a46d765adde7a0da8980734b7c4f41aff">g</a>[], double lambda[])</td></tr>
<tr class="separator:a1e0e0ec4d50fee0fb749a9005449a6ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac63a8698afbd446181712bfd86e08f9c"><td class="memItemLeft" align="right" valign="top">native boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ac63a8698afbd446181712bfd86e08f9c">GetCurrViolations</a> (long <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#aaccf6965122e89d86f4ac57d950787e7">ipopt</a>, long ip_data, long ip_cq, boolean scaled, int n, double x_L_violation[], double x_U_violation[], double compl_x_L[], double compl_x_U[], double grad_lag_x[], int m, double nlp_constraint_violation[], double compl_g[])</td></tr>
<tr class="separator:ac63a8698afbd446181712bfd86e08f9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:aaccf6965122e89d86f4ac57d950787e7"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#aaccf6965122e89d86f4ac57d950787e7">ipopt</a></td></tr>
<tr class="memdesc:aaccf6965122e89d86f4ac57d950787e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to the native optimization object.  <a href="classorg_1_1coinor_1_1Ipopt.html#aaccf6965122e89d86f4ac57d950787e7">More...</a><br /></td></tr>
<tr class="separator:aaccf6965122e89d86f4ac57d950787e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7d529ffa405d16fb69750e855bc6a40"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ae7d529ffa405d16fb69750e855bc6a40">callback_grad_f</a> []</td></tr>
<tr class="memdesc:ae7d529ffa405d16fb69750e855bc6a40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback arguments.  <a href="classorg_1_1coinor_1_1Ipopt.html#ae7d529ffa405d16fb69750e855bc6a40">More...</a><br /></td></tr>
<tr class="separator:ae7d529ffa405d16fb69750e855bc6a40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d43f354d13771f3e7c45fe66949cdf0"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a3d43f354d13771f3e7c45fe66949cdf0">callback_jac_g</a> []</td></tr>
<tr class="separator:a3d43f354d13771f3e7c45fe66949cdf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1294b1186358327819b4a02bbfedbd07"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a1294b1186358327819b4a02bbfedbd07">callback_hess</a> []</td></tr>
<tr class="separator:a1294b1186358327819b4a02bbfedbd07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d0279b61ddf81f2c137dc016b1f4c92"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a4d0279b61ddf81f2c137dc016b1f4c92">x</a> []</td></tr>
<tr class="memdesc:a4d0279b61ddf81f2c137dc016b1f4c92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Final value of variable values.  <a href="classorg_1_1coinor_1_1Ipopt.html#a4d0279b61ddf81f2c137dc016b1f4c92">More...</a><br /></td></tr>
<tr class="separator:a4d0279b61ddf81f2c137dc016b1f4c92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cdb448d319b75a8ffad2ae1df8c6551"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a9cdb448d319b75a8ffad2ae1df8c6551">obj_val</a> [] = {0}</td></tr>
<tr class="memdesc:a9cdb448d319b75a8ffad2ae1df8c6551"><td class="mdescLeft">&#160;</td><td class="mdescRight">Final value of objective function.  <a href="classorg_1_1coinor_1_1Ipopt.html#a9cdb448d319b75a8ffad2ae1df8c6551">More...</a><br /></td></tr>
<tr class="separator:a9cdb448d319b75a8ffad2ae1df8c6551"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46d765adde7a0da8980734b7c4f41aff"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a46d765adde7a0da8980734b7c4f41aff">g</a> []</td></tr>
<tr class="memdesc:a46d765adde7a0da8980734b7c4f41aff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Values of constraint at final point.  <a href="classorg_1_1coinor_1_1Ipopt.html#a46d765adde7a0da8980734b7c4f41aff">More...</a><br /></td></tr>
<tr class="separator:a46d765adde7a0da8980734b7c4f41aff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4cf62cbe73667cb903e9dcddae881dd"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ab4cf62cbe73667cb903e9dcddae881dd">mult_x_L</a> []</td></tr>
<tr class="memdesc:ab4cf62cbe73667cb903e9dcddae881dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Final multipliers for lower variable bounds.  <a href="classorg_1_1coinor_1_1Ipopt.html#ab4cf62cbe73667cb903e9dcddae881dd">More...</a><br /></td></tr>
<tr class="separator:ab4cf62cbe73667cb903e9dcddae881dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43a18366b435f807bb7dc9b28de4b7f9"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a43a18366b435f807bb7dc9b28de4b7f9">mult_x_U</a> []</td></tr>
<tr class="memdesc:a43a18366b435f807bb7dc9b28de4b7f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Final multipliers for upper variable bounds.  <a href="classorg_1_1coinor_1_1Ipopt.html#a43a18366b435f807bb7dc9b28de4b7f9">More...</a><br /></td></tr>
<tr class="separator:a43a18366b435f807bb7dc9b28de4b7f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0910d0da9b1a0edc3dfb655abfdf0ea"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ab0910d0da9b1a0edc3dfb655abfdf0ea">mult_g</a> []</td></tr>
<tr class="memdesc:ab0910d0da9b1a0edc3dfb655abfdf0ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Final multipliers for constraints.  <a href="classorg_1_1coinor_1_1Ipopt.html#ab0910d0da9b1a0edc3dfb655abfdf0ea">More...</a><br /></td></tr>
<tr class="separator:ab0910d0da9b1a0edc3dfb655abfdf0ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54943c4b8f5c7658b32bd0a99b76589a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a54943c4b8f5c7658b32bd0a99b76589a">status</a> = <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a6601c123db771db778c4c25061327048">INVALID_PROBLEM_DEFINITION</a></td></tr>
<tr class="memdesc:a54943c4b8f5c7658b32bd0a99b76589a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Status returned by the solver.  <a href="classorg_1_1coinor_1_1Ipopt.html#a54943c4b8f5c7658b32bd0a99b76589a">More...</a><br /></td></tr>
<tr class="separator:a54943c4b8f5c7658b32bd0a99b76589a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A Java Native Interface for the <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> optimization solver. </p>
<p><a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> is a solver for large scale nonlinear optimization problems (NLP).</p>
<p>The Java Native Interface (JNI) is a programming framework that allows Java code running in the Java Virtual Machine (JVM) to call and be called by native applications (programs specific to a hardware and operating system platform) and libraries written in other languages, such as C and C++.</p>
<p>This class is a JNI hook around the C++ interface of <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a>, as a consequence it will need a nativelly compiled DLL to run. For more details about <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> <a href="https://github.com/coin-or/Ipopt">click here</a>.</p>
<p>The user should subclass this class and implement the abstract methods. At some point before solving the problem the <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a974f513fe0380fa5feb582855657ea49">create(int, int, int, int, int)</a> function should be called. For simple cases you can call this function in the constructor of your class.</p>
<p>Once the problem was created, <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ae1d61a61ade3ef02dea4441196f42b95">OptimizeNLP()</a> will solve the problem. Objects of this class can be reused to solve different problems, in other words, <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a974f513fe0380fa5feb582855657ea49">create(int, int, int, int, int)</a> and <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ae1d61a61ade3ef02dea4441196f42b95">OptimizeNLP()</a> can be called multiple times.</p>
<p>Programmers must call <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a6f81bd51d53915702ad63a651e5c9d6b">dispose()</a> when finished using a <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> object, otherwise the nativelly allocated memory will be disposed of only when the JVM call <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#af97dda92a9fa67678dcdd86ab28c2fae">finalize()</a> on it.</p>
<dl class="section author"><dt>Author</dt><dd>Rafael de Pelegrini Soares </dd>
<dd>
Edson C. do Valle </dd>
<dd>
Tong Kewei, BeiHang University </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00044">44</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ab140cae4c428047f583ca789df5e5495"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab140cae4c428047f583ca789df5e5495">&#9670;&nbsp;</a></span>Ipopt() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">org.coinor.Ipopt.Ipopt </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates a new NLP Solver using a default as the DLL name. </p>
<p>This expects the the <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> DLL can somehow be found and that it has the canoncial name "ipopt" (on Unix, et.al.) or "ipopt-3" or "ipopt-0" (on Windows).</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ab140cae4c428047f583ca789df5e5495" title="Creates a new NLP Solver using a default as the DLL name.">Ipopt()</a> </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00195">195</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a3f65d8c507f1ac7b3386dcd92e9a70e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f65d8c507f1ac7b3386dcd92e9a70e8">&#9670;&nbsp;</a></span>Ipopt() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">org.coinor.Ipopt.Ipopt </td>
          <td>(</td>
          <td class="paramtype">String&#160;</td>
          <td class="paramname"><em>DLL</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates a NLP Solver for the given DLL file. </p>
<p>The given file must implement the native interface required by this class. The given file must be located in some library search path.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DLL</td><td>the name of the DLL (without the extension or any platform dependent prefix).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ab140cae4c428047f583ca789df5e5495" title="Creates a new NLP Solver using a default as the DLL name.">Ipopt()</a> </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00243">243</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a400135e918a4b6377ea4581411ac2298"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a400135e918a4b6377ea4581411ac2298">&#9670;&nbsp;</a></span>Ipopt() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">org.coinor.Ipopt.Ipopt </td>
          <td>(</td>
          <td class="paramtype">String&#160;</td>
          <td class="paramname"><em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">String&#160;</td>
          <td class="paramname"><em>DLL</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates a NLP Solver for the given DLL file and path. </p>
<p>The given file must implement the native interface required by this class.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">path</td><td>the path where the DLL is found. </td></tr>
    <tr><td class="paramname">DLL</td><td>the name of the DLL (without the extension or any platform dependent prefix).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ab140cae4c428047f583ca789df5e5495" title="Creates a new NLP Solver using a default as the DLL name.">Ipopt()</a> </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00258">258</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a3372d37c34ef8716b2a2d5bf5eed64be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3372d37c34ef8716b2a2d5bf5eed64be">&#9670;&nbsp;</a></span>AddIpoptIntOption()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">native boolean org.coinor.Ipopt.AddIpoptIntOption </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>ipopt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">String&#160;</td>
          <td class="paramname"><em>keyword</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ac3b0533ed600d1a350c39cc7ac314657"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3b0533ed600d1a350c39cc7ac314657">&#9670;&nbsp;</a></span>AddIpoptNumOption()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">native boolean org.coinor.Ipopt.AddIpoptNumOption </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>ipopt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">String&#160;</td>
          <td class="paramname"><em>keyword</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a851e5c9e543e9de8b89061d527e0e39a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a851e5c9e543e9de8b89061d527e0e39a">&#9670;&nbsp;</a></span>AddIpoptStrOption()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">native boolean org.coinor.Ipopt.AddIpoptStrOption </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>ipopt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">String&#160;</td>
          <td class="paramname"><em>keyword</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">String&#160;</td>
          <td class="paramname"><em>val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ad3e70c3f0c045077b086199f7a7b5a19"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad3e70c3f0c045077b086199f7a7b5a19">&#9670;&nbsp;</a></span>CreateIpoptProblem()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">native long org.coinor.Ipopt.CreateIpoptProblem </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nele_jac</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nele_hess</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index_style</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a5135398105ea5616a141397bd043ee64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5135398105ea5616a141397bd043ee64">&#9670;&nbsp;</a></span>FreeIpoptProblem()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">native void org.coinor.Ipopt.FreeIpoptProblem </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>ipopt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a4d9fd1045e1dcef18fd16c52161be407"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d9fd1045e1dcef18fd16c52161be407">&#9670;&nbsp;</a></span>OptimizeTNLP()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">native int org.coinor.Ipopt.OptimizeTNLP </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>ipopt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>g</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>obj_val</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>mult_g</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>mult_x_L</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>mult_x_U</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>callback_grad_f</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>callback_jac_g</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>callback_hess</em>[]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a1e0e0ec4d50fee0fb749a9005449a6ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e0e0ec4d50fee0fb749a9005449a6ae">&#9670;&nbsp;</a></span>GetCurrIterate()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">native boolean org.coinor.Ipopt.GetCurrIterate </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>ipopt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>ip_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>ip_cq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boolean&#160;</td>
          <td class="paramname"><em>scaled</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>z_L</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>z_U</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>g</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>lambda</em>[]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ac63a8698afbd446181712bfd86e08f9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac63a8698afbd446181712bfd86e08f9c">&#9670;&nbsp;</a></span>GetCurrViolations()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">native boolean org.coinor.Ipopt.GetCurrViolations </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>ipopt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>ip_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>ip_cq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boolean&#160;</td>
          <td class="paramname"><em>scaled</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x_L_violation</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x_U_violation</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>compl_x_L</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>compl_x_U</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>grad_lag_x</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>nlp_constraint_violation</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>compl_g</em>[]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="accab4abbd131031465d261fbed4eba4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#accab4abbd131031465d261fbed4eba4a">&#9670;&nbsp;</a></span>get_bounds_info()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">abstract boolean org.coinor.Ipopt.get_bounds_info </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double[]&#160;</td>
          <td class="paramname"><em>x_l</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double[]&#160;</td>
          <td class="paramname"><em>x_u</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double[]&#160;</td>
          <td class="paramname"><em>g_l</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double[]&#160;</td>
          <td class="paramname"><em>g_u</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">abstract</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method to request bounds on the variables and constraints. </p>
<p>The values of n and m that were specified in <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a974f513fe0380fa5feb582855657ea49" title="Create a new problem.">create()</a> and are passed here for debug checking. Setting a lower bound to a value less than or equal to the value of the option "nlp_lower_bound_inf" will cause <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> to assume no lower bound. Likewise, specifying the upper bound above or equal to the value of the option nlp_upper_bound_inf will cause <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> to assume no upper bound. These options are set to -10<sup>19</sup> and 10<sup>19</sup>, respectively, by default, but may be modified by changing these options.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">n</td><td>(in) the number of variablesin the problem </td></tr>
    <tr><td class="paramname">x_l</td><td>(out) the lower bounds for the variables </td></tr>
    <tr><td class="paramname">x_u</td><td>(out) the upper bounds for the variables </td></tr>
    <tr><td class="paramname">m</td><td>(in) the number of constraints in the problem </td></tr>
    <tr><td class="paramname">g_l</td><td>(out) the lower bounds for the constraints </td></tr>
    <tr><td class="paramname">g_u</td><td>(out) the upper bounds for the constraints</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true on success, otherwise false </dd></dl>

</div>
</div>
<a id="a239c7ca7247de559e4ee50fd3fbf77c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a239c7ca7247de559e4ee50fd3fbf77c1">&#9670;&nbsp;</a></span>get_starting_point()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">abstract boolean org.coinor.Ipopt.get_starting_point </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boolean&#160;</td>
          <td class="paramname"><em>init_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double[]&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boolean&#160;</td>
          <td class="paramname"><em>init_z</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double[]&#160;</td>
          <td class="paramname"><em>z_L</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double[]&#160;</td>
          <td class="paramname"><em>z_U</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boolean&#160;</td>
          <td class="paramname"><em>init_lambda</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double[]&#160;</td>
          <td class="paramname"><em>lambda</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">abstract</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method to request the starting point before iterating. </p>
<p>The boolean variables indicate whether the algorithm requires to have x, z_L/z_u, and lambda initialized, respectively. If, for some reason, the algorithm requires initializations that cannot be provided, false should be returned and <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> will stop. The default options only require initial values for the primal variables.</p>
<p>Note, that the initial values for bound multiplier components for absent bounds are ignored.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">n</td><td>(in) the number of variables in the problem; it will have the same value that was specified in <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a974f513fe0380fa5feb582855657ea49" title="Create a new problem.">create()</a> </td></tr>
    <tr><td class="paramname">init_x</td><td>(in) if true, this method must provide an initial value for the primal variables </td></tr>
    <tr><td class="paramname">x</td><td>(out) the initial values for the primal variables </td></tr>
    <tr><td class="paramname">init_z</td><td>(in) if true, this method must provide an initial value for the bound multipliers </td></tr>
    <tr><td class="paramname">z_L</td><td>(out) the initial values for the lower bound multipliers </td></tr>
    <tr><td class="paramname">z_U</td><td>(out) the initial values for the upper bound multipliers </td></tr>
    <tr><td class="paramname">m</td><td>(in) the number of constraints in the problem; it will have the same value that was specified in <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a974f513fe0380fa5feb582855657ea49" title="Create a new problem.">create()</a> </td></tr>
    <tr><td class="paramname">init_lambda</td><td>(in) if true, this method must provide an initial value for the constraint multipliers </td></tr>
    <tr><td class="paramname">lambda</td><td>(out) the initial values for the constraint multipliers</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true on success, otherwise false </dd></dl>

</div>
</div>
<a id="a80bae3cab08d6fdab223d74cf33e5f02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80bae3cab08d6fdab223d74cf33e5f02">&#9670;&nbsp;</a></span>eval_f()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">abstract boolean org.coinor.Ipopt.eval_f </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double[]&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boolean&#160;</td>
          <td class="paramname"><em>new_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double[]&#160;</td>
          <td class="paramname"><em>obj_value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">abstract</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method to request the value of the objective function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">n</td><td>(in) the number of variables in the problem; it will have the same value that was specified in <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a974f513fe0380fa5feb582855657ea49" title="Create a new problem.">create()</a> </td></tr>
    <tr><td class="paramname">x</td><td>(in) the values for the primal variables at which the objective function is to be evaluated </td></tr>
    <tr><td class="paramname">new_x</td><td>(in) false if any evaluation method (<code>eval_*</code>) was previously called with the same values in x, true otherwise. This can be helpful when users have efficient implementations that calculate multiple outputs at once. <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> internally caches results from the TNLP and generally, this flag can be ignored. </td></tr>
    <tr><td class="paramname">obj_value</td><td>(out) storage for the value of the objective function</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true on success, otherwise false </dd></dl>

</div>
</div>
<a id="a77ead30aae6f366cdd41d566893199ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77ead30aae6f366cdd41d566893199ef">&#9670;&nbsp;</a></span>eval_grad_f()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">abstract boolean org.coinor.Ipopt.eval_grad_f </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double[]&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boolean&#160;</td>
          <td class="paramname"><em>new_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double[]&#160;</td>
          <td class="paramname"><em>grad_f</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">abstract</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method to request the gradient of the objective function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">n</td><td>(in) the number of variables in the problem; it will have the same value that was specified in <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a974f513fe0380fa5feb582855657ea49" title="Create a new problem.">create()</a> </td></tr>
    <tr><td class="paramname">x</td><td>(in) the values for the primal variables at which the gradient is to be evaluated </td></tr>
    <tr><td class="paramname">new_x</td><td>(in) false if any evaluation method (<code>eval_*</code>) was previously called with the same values in x, true otherwise; see also <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a80bae3cab08d6fdab223d74cf33e5f02" title="Method to request the value of the objective function.">eval_f()</a> </td></tr>
    <tr><td class="paramname">grad_f</td><td>(out) array to store values of the gradient of the objective function. The gradient array is in the same order as the variables (i.e., the gradient of the objective with respect to <code>x[2]</code> should be put in <code>grad_f[2]</code>).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true on success, otherwise false </dd></dl>

</div>
</div>
<a id="a04825d67738e9017df30846060f8a660"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04825d67738e9017df30846060f8a660">&#9670;&nbsp;</a></span>eval_g()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">abstract boolean org.coinor.Ipopt.eval_g </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double[]&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boolean&#160;</td>
          <td class="paramname"><em>new_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double[]&#160;</td>
          <td class="paramname"><em>g</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">abstract</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method to request the constraint values. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">n</td><td>(in) the number of variables in the problem; it will have the same value that was specified in <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a974f513fe0380fa5feb582855657ea49" title="Create a new problem.">create()</a> </td></tr>
    <tr><td class="paramname">x</td><td>(in) the values for the primal variables at which the constraint functions are to be evaluated </td></tr>
    <tr><td class="paramname">new_x</td><td>(in) false if any evaluation method (<code>eval_*</code>) was previously called with the same values in x, true otherwise; see also <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a80bae3cab08d6fdab223d74cf33e5f02" title="Method to request the value of the objective function.">eval_f()</a> </td></tr>
    <tr><td class="paramname">m</td><td>(in) the number of constraints in the problem; it will have the same value that was specified in <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a974f513fe0380fa5feb582855657ea49" title="Create a new problem.">create()</a> </td></tr>
    <tr><td class="paramname">g</td><td>(out) array to store constraint function values, do not add or subtract the bound values.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true on success, otherwise false </dd></dl>

</div>
</div>
<a id="a2fc8279558b81381c39f7b7136b6890a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2fc8279558b81381c39f7b7136b6890a">&#9670;&nbsp;</a></span>eval_jac_g()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">abstract boolean org.coinor.Ipopt.eval_jac_g </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double[]&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boolean&#160;</td>
          <td class="paramname"><em>new_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nele_jac</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int[]&#160;</td>
          <td class="paramname"><em>iRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int[]&#160;</td>
          <td class="paramname"><em>jCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double[]&#160;</td>
          <td class="paramname"><em>values</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">abstract</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method to request either the sparsity structure or the values of the Jacobian of the constraints. </p>
<p>The Jacobian is the matrix of derivatives where the derivative of the i-th constraint function with respect to the j-th variable is placed in row i and column j.</p>
<p>The arrays iRow and jCol only need to be filled once. If the iRow and jCol arguments are not NULL (first call to this function), then <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> expects that the sparsity structure of the Jacobian (the row and column indices only) are written into iRow and jCol. At this call, the arguments x and values will be NULL. If the arguments x and values are not NULL, then <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> expects that the value of the Jacobian as calculated from array x is stored in array values (using the same order as used when specifying the sparsity structure). At this call, the arguments iRow and jCol will be NULL.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">n</td><td>(in) the number of variables in the problem; it will have the same value that was specified in <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a974f513fe0380fa5feb582855657ea49" title="Create a new problem.">create()</a> </td></tr>
    <tr><td class="paramname">x</td><td>(in) first call: NULL; later calls: the values for the primal variables at which the constraint Jacobian is to be evaluated </td></tr>
    <tr><td class="paramname">new_x</td><td>(in) false if any evaluation method (<code>eval_*</code>) was previously called with the same values in x, true otherwise; see also <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a80bae3cab08d6fdab223d74cf33e5f02" title="Method to request the value of the objective function.">eval_f()</a> </td></tr>
    <tr><td class="paramname">m</td><td>(in) the number of constraints in the problem; it will have the same value that was specified in <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a974f513fe0380fa5feb582855657ea49" title="Create a new problem.">create()</a> </td></tr>
    <tr><td class="paramname">nele_jac</td><td>(in) the number of nonzero elements in the Jacobian; it will have the same value that was specified in <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a974f513fe0380fa5feb582855657ea49" title="Create a new problem.">create()</a> </td></tr>
    <tr><td class="paramname">iRow</td><td>(out) first call: array of length nele_jac to store the row indices of entries in the Jacobian of the constraints; later calls: NULL </td></tr>
    <tr><td class="paramname">jCol</td><td>(out) first call: array of length nele_jac to store the column indices of entries in the Jacobian of the constraints; later calls: NULL </td></tr>
    <tr><td class="paramname">values</td><td>(out) first call: NULL; later calls: array of length nele_jac to store the values of the entries in the Jacobian of the constraints</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true on success, otherwise false </dd></dl>

</div>
</div>
<a id="a8338a6f69c453de7e0c7d02309fce4f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8338a6f69c453de7e0c7d02309fce4f9">&#9670;&nbsp;</a></span>eval_h()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">abstract boolean org.coinor.Ipopt.eval_h </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double[]&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boolean&#160;</td>
          <td class="paramname"><em>new_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>obj_factor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double[]&#160;</td>
          <td class="paramname"><em>lambda</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boolean&#160;</td>
          <td class="paramname"><em>new_lambda</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nele_hess</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int[]&#160;</td>
          <td class="paramname"><em>iRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int[]&#160;</td>
          <td class="paramname"><em>jCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double[]&#160;</td>
          <td class="paramname"><em>values</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">abstract</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method to request either the sparsity structure or the values of the Hessian of the Lagrangian. </p>
<p>The Hessian matrix that <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> uses is the sum of the Hessian matrices of objective function (multiplied by obj_factor) and each constraint function (multiplied by lambda).</p>
<p>The arrays iRow and jCol only need to be filled once. If the iRow and jCol arguments are not NULL (first call to this function), then <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> expects that the sparsity structure of the Hessian (the row and column indices only) are written into iRow and jCol. At this call, the arguments x, lambda, and values will be NULL. If the arguments x, lambda, and values are not NULL, then <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> expects that the value of the Hessian as calculated from arrays x and lambda are stored in array values (using the same order as used when specifying the sparsity structure). At this call, the arguments iRow and jCol will be NULL.</p>
<p>As this matrix is symmetric, <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> expects that only the lower diagonal entries are specified.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">n</td><td>(in) the number of variables in the problem; it will have the same value that was specified in <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a974f513fe0380fa5feb582855657ea49" title="Create a new problem.">create()</a> </td></tr>
    <tr><td class="paramname">x</td><td>(in) first call: NULL; later calls: the values for the primal variables at which the Hessian is to be evaluated </td></tr>
    <tr><td class="paramname">new_x</td><td>(in) false if any evaluation method (<code>eval_*</code>) was previously called with the same values in x, true otherwise; see also <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a80bae3cab08d6fdab223d74cf33e5f02" title="Method to request the value of the objective function.">eval_f()</a> </td></tr>
    <tr><td class="paramname">obj_factor</td><td>(in) factor in front of the objective term in the Hessian </td></tr>
    <tr><td class="paramname">m</td><td>(in) the number of constraints in the problem; it will have the same value that was specified in <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a974f513fe0380fa5feb582855657ea49" title="Create a new problem.">create()</a> </td></tr>
    <tr><td class="paramname">lambda</td><td>(in) the values for the constraint multipliers at which the Hessian is to be evaluated </td></tr>
    <tr><td class="paramname">new_lambda</td><td>(in) false if any evaluation method was previously called with the same values in lambda, true otherwise </td></tr>
    <tr><td class="paramname">nele_hess</td><td>(in) the number of nonzero elements in the Hessian; it will have the same value that was specified in <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a974f513fe0380fa5feb582855657ea49" title="Create a new problem.">create()</a> </td></tr>
    <tr><td class="paramname">iRow</td><td>(out) first call: array of length nele_hess to store the row indices of entries in the Hessian; later calls: NULL </td></tr>
    <tr><td class="paramname">jCol</td><td>(out) first call: array of length nele_hess to store the column indices of entries in the Hessian; later calls: NULL </td></tr>
    <tr><td class="paramname">values</td><td>(out) first call: NULL; later calls: array of length nele_hess to store the values of the entries in the Hessian</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true on success, otherwise false </dd></dl>

</div>
</div>
<a id="a6f81bd51d53915702ad63a651e5c9d6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f81bd51d53915702ad63a651e5c9d6b">&#9670;&nbsp;</a></span>dispose()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void org.coinor.Ipopt.dispose </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Dispose of the natively allocated memory. </p>
<p>Programmers must call the dispose method when finished using a <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> object.</p>
<p>An JIpopt object can be reused to solve different problems by calling again <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a974f513fe0380fa5feb582855657ea49">create(int, int, int, int, int)</a>. In this case, you should call the dispose method only when you finished with the object and it is not needed anymore. </p>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00483">483</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="af97dda92a9fa67678dcdd86ab28c2fae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af97dda92a9fa67678dcdd86ab28c2fae">&#9670;&nbsp;</a></span>finalize()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void org.coinor.Ipopt.finalize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> throws Throwable</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00494">494</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a974f513fe0380fa5feb582855657ea49"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a974f513fe0380fa5feb582855657ea49">&#9670;&nbsp;</a></span>create()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">boolean org.coinor.Ipopt.create </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nele_jac</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nele_hess</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index_style</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a new problem. </p>
<p>This is get_nlp_info in the C++ interface.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">n</td><td>the number of variables in the problem. </td></tr>
    <tr><td class="paramname">m</td><td>the number of constraints in the problem. </td></tr>
    <tr><td class="paramname">nele_jac</td><td>the number of nonzero entries in the Jacobian. </td></tr>
    <tr><td class="paramname">nele_hess</td><td>the number of nonzero entries in the Hessian. </td></tr>
    <tr><td class="paramname">index_style</td><td>the numbering style used for row/col entries in the sparse matrix format (C_STYLE or FORTRAN_STYLE).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true on success, otherwise false </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00511">511</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a7be6b14ffc43b7883b3f59d9920b0a56"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7be6b14ffc43b7883b3f59d9920b0a56">&#9670;&nbsp;</a></span>setIntegerOption()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">boolean org.coinor.Ipopt.setIntegerOption </td>
          <td>(</td>
          <td class="paramtype">String&#160;</td>
          <td class="paramname"><em>keyword</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Function for setting an integer option. </p>
<p>For a list of valid keywords check the <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> documentation.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">keyword</td><td>the option keyword </td></tr>
    <tr><td class="paramname">val</td><td>the value </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false if the option could not be set (e.g., if keyword is unknown) </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00549">549</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="ac7a464793c01a39c4e68f093f960056e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7a464793c01a39c4e68f093f960056e">&#9670;&nbsp;</a></span>setNumericOption()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">boolean org.coinor.Ipopt.setNumericOption </td>
          <td>(</td>
          <td class="paramtype">String&#160;</td>
          <td class="paramname"><em>keyword</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Function for setting a number option. </p>
<p>For a list of valid keywords check the <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> documentation.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">keyword</td><td>the option keyword </td></tr>
    <tr><td class="paramname">val</td><td>the value </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false if the option could not be set (e.g., if keyword is unknown) </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00569">569</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a0b8c641615793cd0f55c94447e43018c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b8c641615793cd0f55c94447e43018c">&#9670;&nbsp;</a></span>setStringOption()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">boolean org.coinor.Ipopt.setStringOption </td>
          <td>(</td>
          <td class="paramtype">String&#160;</td>
          <td class="paramname"><em>keyword</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">String&#160;</td>
          <td class="paramname"><em>val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Function for setting a string option. </p>
<p>For a list of valid keywords check the <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> documentation.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">keyword</td><td>the option keyword </td></tr>
    <tr><td class="paramname">val</td><td>the value </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false if the option could not be set (e.g., if keyword is unknown) </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00589">589</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="ae1d61a61ade3ef02dea4441196f42b95"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1d61a61ade3ef02dea4441196f42b95">&#9670;&nbsp;</a></span>OptimizeNLP()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int org.coinor.Ipopt.OptimizeNLP </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This function actually solve the problem. </p>
<p>The solve status returned is one of the constant fields of this class, e.g. SOLVE_SUCCEEDED. For more details about the valid solve status check the <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> documentation.</p>
<dl class="section return"><dt>Returns</dt><dd>the solve status</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a9eebd3ea4266623fd1e006d1d676dac5" title="Gives Ipopt status of last OptimizeNLP call.">getStatus()</a> </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00611">611</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="ac99c6c1aa98865aa73a2b1079a671024"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac99c6c1aa98865aa73a2b1079a671024">&#9670;&nbsp;</a></span>get_curr_iterate()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">boolean org.coinor.Ipopt.get_curr_iterate </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>ip_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>ip_cq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boolean&#160;</td>
          <td class="paramname"><em>scaled</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>z_L</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>z_U</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>g</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>lambda</em>[]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get primal and dual variable values of the current iterate. </p>
<p>This method can be used to get the values of the current iterate during <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a64b80dde363aebc64802b3ad950a7a06" title="Intermediate Callback method for the user.">intermediate_callback()</a>. The method expects the number of variables (dimension of x), number of constraints (dimension of g(x)), and allocated arrays of appropriate lengths as input.</p>
<p>The method translates the <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a4d0279b61ddf81f2c137dc016b1f4c92" title="Final value of variable values.">x()</a>, c(), d(), y_c(), y_d(), z_L(), and z_U() vectors from <a class="el" href="classIpopt_1_1IpoptData.html#a7ea3aeb9b62b340f7671d61b88a9b056" title="Current point.">Ipopt::IpoptData::curr()</a> of the internal NLP representation into the form used by the TNLP. For the correspondence between scaled and unscaled solutions, see the detailed description of <a class="el" href="classIpopt_1_1OrigIpoptNLP.html" title="This class maps the traditional NLP into something that is more useful for Ipopt.">Ipopt::OrigIpoptNLP</a>. If Ipopt is in restoration mode, it maps the current iterate of restoration NLP (see <a class="el" href="classIpopt_1_1RestoIpoptNLP.html" title="This class maps a IpoptNLP into one that is used for the restoration phase of Ipopt.">Ipopt::RestoIpoptNLP</a>) back to the original TNLP.</p>
<p>If there are fixed variables and fixed_variable_treatment=make_parameter, then requesting z_L and z_U can trigger a reevaluation of the Gradient of the objective function and the Jacobian of the constraint functions.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ip_data</td><td>(in) <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> Data (pass on value given to intermediate_callback) </td></tr>
    <tr><td class="paramname">ip_cq</td><td>(in) <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> Calculated Quantities (pass on value given to intermediate_callback) </td></tr>
    <tr><td class="paramname">scaled</td><td>(in) whether to retrieve scaled or unscaled iterate </td></tr>
    <tr><td class="paramname">n</td><td>(in) the number of variables \(x\) in the problem; can be arbitrary if skipping x, z_L, and z_U </td></tr>
    <tr><td class="paramname">x</td><td>(out) buffer to store value of primal variables \(x\), must have length at least n; pass null to skip retrieving x </td></tr>
    <tr><td class="paramname">z_L</td><td>(out) buffer to store the lower bound multipliers \(z_L\), must have length at least n; pass null to skip retrieving z_L and z_U </td></tr>
    <tr><td class="paramname">z_U</td><td>(out) buffer to store the upper bound multipliers \(z_U\), must have length at least n; pass null to skip retrieving z_L and z_U </td></tr>
    <tr><td class="paramname">m</td><td>(in) the number of constraints \(g(x)\); can be arbitrary if skipping g and lambda </td></tr>
    <tr><td class="paramname">g</td><td>(out) buffer to store the constraint values \(g(x)\), must have length at least m; pass null to skip retrieving g </td></tr>
    <tr><td class="paramname">lambda</td><td>(out) buffer to store the constraint multipliers \(\lambda\), must have length at least m; pass null to skip retrieving lambda</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Whether <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> has successfully filled the given arrays </dd></dl>
<dl class="section since"><dt>Since</dt><dd>3.14.0 </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00648">648</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a6596d5beb266e5e60d57a9d5e52c8efa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6596d5beb266e5e60d57a9d5e52c8efa">&#9670;&nbsp;</a></span>get_curr_violations()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">boolean org.coinor.Ipopt.get_curr_violations </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>ip_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>ip_cq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boolean&#160;</td>
          <td class="paramname"><em>scaled</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x_L_violation</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x_U_violation</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>compl_x_L</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>compl_x_U</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>grad_lag_x</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>nlp_constraint_violation</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>compl_g</em>[]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get primal and dual infeasibility of the current iterate. </p>
<p>This method can be used to get the violations of constraints and optimality conditions at the current iterate, e.g., during <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a64b80dde363aebc64802b3ad950a7a06" title="Intermediate Callback method for the user.">intermediate_callback()</a>. The method expects the number of variables (dimension of x), number of constraints (dimension of g(x)), and allocated arrays of appropriate lengths as input.</p>
<p>The method makes the vectors behind (unscaled_)curr_nlp_constraint_violation(), (unscaled_)curr_dual_infeasibility(), (unscaled_)curr_complementarity() from <a class="el" href="classIpopt_1_1IpoptCalculatedQuantities.html" title="Class for all IPOPT specific calculated quantities.">Ipopt::IpoptCalculatedQuantities</a> of the internal NLP representation available into the form used by the TNLP. If Ipopt is in restoration mode, it maps the current iterate of restoration NLP (see <a class="el" href="classIpopt_1_1RestoIpoptNLP.html" title="This class maps a IpoptNLP into one that is used for the restoration phase of Ipopt.">Ipopt::RestoIpoptNLP</a>) back to the original TNLP.</p>
<dl class="section note"><dt>Note</dt><dd>If in restoration phase, then requesting grad_lag_x can trigger a call to <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a77ead30aae6f366cdd41d566893199ef" title="Method to request the gradient of the objective function.">eval_grad_f()</a>.</dd>
<dd>
<a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> by default relaxes variable bounds (option bound_relax_factor &gt; 0.0). x_L_violation and x_U_violation report the violation of a solution w.r.t. the original unrelaxed bounds. However, compl_x_L and compl_x_U use the relaxed variable bounds to calculate the complementarity.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ip_data</td><td>(in) <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> Data (pass on value given to intermediate_callback) </td></tr>
    <tr><td class="paramname">ip_cq</td><td>(in) <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> Calculated Quantities (pass on value given to intermediate_callback) </td></tr>
    <tr><td class="paramname">scaled</td><td>(in) whether to retrieve scaled or unscaled violations </td></tr>
    <tr><td class="paramname">n</td><td>(in) the number of variables \(x\) in the problem; can be arbitrary if skipping compl_x_L, compl_x_U, and grad_lag_x </td></tr>
    <tr><td class="paramname">x_L_violation</td><td>(out) buffer to store violation of original lower bounds on variables (max(orig_x_L-x,0)), must have length at least n; pass NULL to skip retrieving orig_x_L </td></tr>
    <tr><td class="paramname">x_U_violation</td><td>(out) buffer to store violation of original upper bounds on variables (max(x-orig_x_U,0)), must have length at least n; pass NULL to skip retrieving orig_x_U </td></tr>
    <tr><td class="paramname">compl_x_L</td><td>(out) buffer to store violation of complementarity for lower bounds on variables ( \((x-x_L)z_L\)), must have length at least n; pass null to skip retrieving compl_x_L </td></tr>
    <tr><td class="paramname">compl_x_U</td><td>(out) buffer to store violation of complementarity for upper bounds on variables ( \((x_U-x)z_U\)), must have length at least n; pass null to skip retrieving compl_x_U </td></tr>
    <tr><td class="paramname">grad_lag_x</td><td>(out) buffer to store gradient of Lagrangian w.r.t. variables \(x\), must have length at least n; pass null to skip retrieving grad_lag_x </td></tr>
    <tr><td class="paramname">m</td><td>(in) the number of constraints \(g(x)\); can be arbitrary if skipping lambda </td></tr>
    <tr><td class="paramname">nlp_constraint_violation</td><td>(out) buffer to store violation of constraints \(max(g_l-g(x),g(x)-g_u,0)\), must have length at least m; pass null to skip retrieving constraint_violation </td></tr>
    <tr><td class="paramname">compl_g</td><td>(out) buffer to store violation of complementarity of constraint ( \((g(x)-g_l)*\lambda^+ + (g_l-g(x))*\lambda^-\), where \(\lambda^+=max(0,\lambda)\) and \(\lambda^-=max(0,-\lambda)\) (componentwise)), must have length at least m; pass null to skip retrieving compl_g</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Whether <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> has successfully filled the given arrays </dd></dl>
<dl class="section since"><dt>Since</dt><dd>3.14.0 </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00697">697</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a006f218ae1bc42c63216db173b42223f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a006f218ae1bc42c63216db173b42223f">&#9670;&nbsp;</a></span>getVariableValues()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double [] org.coinor.Ipopt.getVariableValues </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gives primal variable values at final point. </p>
<dl class="section return"><dt>Returns</dt><dd>the primal variable values at the final point. </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00718">718</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a6e22ba48fd43ad6e07bc133d0b46dca3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e22ba48fd43ad6e07bc133d0b46dca3">&#9670;&nbsp;</a></span>getObjectiveValue()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double org.coinor.Ipopt.getObjectiveValue </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gives objective function value at final point. </p>
<dl class="section return"><dt>Returns</dt><dd>the final value of the objective function. </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00726">726</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a9eebd3ea4266623fd1e006d1d676dac5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9eebd3ea4266623fd1e006d1d676dac5">&#9670;&nbsp;</a></span>getStatus()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int org.coinor.Ipopt.getStatus </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gives <a class="el" href="classorg_1_1coinor_1_1Ipopt.html" title="A Java Native Interface for the Ipopt optimization solver.">Ipopt</a> status of last OptimizeNLP call. </p>
<dl class="section return"><dt>Returns</dt><dd>the status of the solver.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ae1d61a61ade3ef02dea4441196f42b95" title="This function actually solve the problem.">OptimizeNLP()</a> </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00736">736</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a5e5163decdb3eb601b533fb4fa2eb799"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e5163decdb3eb601b533fb4fa2eb799">&#9670;&nbsp;</a></span>getConstraintValues()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double [] org.coinor.Ipopt.getConstraintValues </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gives constraint function values at final point. </p>
<dl class="section return"><dt>Returns</dt><dd>Returns the final values for the constraints functions. </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00744">744</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a1882082223e449aee081fd9c22c25644"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1882082223e449aee081fd9c22c25644">&#9670;&nbsp;</a></span>getConstraintMultipliers()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double [] org.coinor.Ipopt.getConstraintMultipliers </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gives constraint dual multipliers in final point. </p>
<dl class="section return"><dt>Returns</dt><dd>Returns the final multipliers for the constraints. </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00752">752</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="aa853ce288ebbb156ee49a31c6632de8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa853ce288ebbb156ee49a31c6632de8f">&#9670;&nbsp;</a></span>getLowerBoundMultipliers()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double [] org.coinor.Ipopt.getLowerBoundMultipliers </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gives dual multipliers for variable lower bounds in final point. </p>
<dl class="section return"><dt>Returns</dt><dd>Returns the final multipliers for the variable lower bounds. </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00760">760</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a7f559255a7c9f289644c5b320c06e3cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f559255a7c9f289644c5b320c06e3cc">&#9670;&nbsp;</a></span>getUpperBoundMultipliers()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double [] org.coinor.Ipopt.getUpperBoundMultipliers </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gives dual multipliers for variable upper bounds in final point. </p>
<dl class="section return"><dt>Returns</dt><dd>Returns the final multipliers for the variable upper bounds. </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00768">768</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a64b80dde363aebc64802b3ad950a7a06"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64b80dde363aebc64802b3ad950a7a06">&#9670;&nbsp;</a></span>intermediate_callback()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">boolean org.coinor.Ipopt.intermediate_callback </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>algorithmmode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>iter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>obj_value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>inf_pr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>inf_du</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>mu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>d_norm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>regularization_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>alpha_du</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>alpha_pr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>ls_trials</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>ip_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>ip_cq</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Intermediate Callback method for the user. </p>
<p>This method is called once per iteration (during the convergence check), and can be used to obtain information about the optimization status while Ipopt solves the problem, and also to request a premature termination.</p>
<p>The information provided by the entities in the argument list correspond to what Ipopt prints in the iteration summary (see also <a class="el" href="OUTPUT.html">Ipopt Output</a>), except for inf_pr, which by default corresponds to the original problem in the log but to the scaled internal problem in this callback. The value of algorithmmode is either REGULARMODE or RESTORATIONPHASEMODE.</p>
<p>The current iterate and violations of feasibility and optimality can be accessed via the methods <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#ac99c6c1aa98865aa73a2b1079a671024" title="Get primal and dual variable values of the current iterate.">get_curr_iterate()</a> and <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a6596d5beb266e5e60d57a9d5e52c8efa" title="Get primal and dual infeasibility of the current iterate.">get_curr_violations()</a>. These methods translate values for the <em>internal representation</em> of the problem from <code>ip_data</code> and <code>ip_cq</code> objects.</p>
<dl class="section return"><dt>Returns</dt><dd>If this method returns false, Ipopt will terminate with the User_Requested_Stop status.</dd></dl>
<p>It is not required to implement (overload) this method. The default implementation always returns true. </p><dl class="section since"><dt>Since</dt><dd>3.14.0 </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00797">797</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a28c05534837bdcae5d2c52358d7d8929"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28c05534837bdcae5d2c52358d7d8929">&#9670;&nbsp;</a></span>get_scaling_parameters()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">boolean org.coinor.Ipopt.get_scaling_parameters </td>
          <td>(</td>
          <td class="paramtype">double[]&#160;</td>
          <td class="paramname"><em>obj_scaling</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double[]&#160;</td>
          <td class="paramname"><em>x_scaling</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double[]&#160;</td>
          <td class="paramname"><em>g_scaling</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boolean[]&#160;</td>
          <td class="paramname"><em>use_x_g_scaling</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>If you using_scaling_parameters = true, this method should be overloaded. </p>
<p>To instruct IPOPT to use scaling values for variables, the first element of use_x_g_scaling should be set. To instruct IPOPT to use scaling values for constraints, the second element of use_x_g_scaling should be set.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">obj_scaling</td><td>double[1] to store a scaling factor for the objective (negative value leads to maximizing the objective function) </td></tr>
    <tr><td class="paramname">n</td><td>the number of variables in the problem </td></tr>
    <tr><td class="paramname">x_scaling</td><td>array to store the scaling factors for the variables </td></tr>
    <tr><td class="paramname">m</td><td>the number of constraints in the problem </td></tr>
    <tr><td class="paramname">g_scaling</td><td>array to store the scaling factors for the constraints </td></tr>
    <tr><td class="paramname">use_x_g_scaling</td><td>boolean[2] to store whether scaling factors for variables (1st entry) and constraints (2nd entry) should be used</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true on success, otherwise false </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00829">829</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="ae4a6b09656bdb836851c22baf0112e47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4a6b09656bdb836851c22baf0112e47">&#9670;&nbsp;</a></span>get_number_of_nonlinear_variables()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int org.coinor.Ipopt.get_number_of_nonlinear_variables </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>When LBFGS hessian approximation is used, this method should be overloaded. </p>
<dl class="section return"><dt>Returns</dt><dd>number of nonlinear variables, a negative value indicates that all variables are negative </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00844">844</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a9c67cda248766e9f66d749fa99f432a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c67cda248766e9f66d749fa99f432a7">&#9670;&nbsp;</a></span>get_list_of_nonlinear_variables()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">boolean org.coinor.Ipopt.get_list_of_nonlinear_variables </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>num_nonlin_vars</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int[]&#160;</td>
          <td class="paramname"><em>pos_nonlin_vars</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>When LBFGS hessian approximation is used, this method should be overloaded. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">num_nonlin_vars</td><td>number of nonlinear variables and length of pos_nonlin_vars array </td></tr>
    <tr><td class="paramname">pos_nonlin_vars</td><td>the indices of all nonlinear variables</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true on success, otherwise false </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00856">856</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a4443ff7d1619c147a03ec0d33dde3c94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4443ff7d1619c147a03ec0d33dde3c94">&#9670;&nbsp;</a></span>C_STYLE</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int org.coinor.Ipopt.C_STYLE = 0</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Use C index style for iRow and jCol vectors. </p>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00128">128</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="ad22ccf5588351d02b727a02a7cddd933"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad22ccf5588351d02b727a02a7cddd933">&#9670;&nbsp;</a></span>FORTRAN_STYLE</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int org.coinor.Ipopt.FORTRAN_STYLE = 1</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Use FORTRAN index style for iRow and jCol vectors. </p>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00131">131</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a06e22b2ef0b1d1bf4d2d7ff49c228404"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06e22b2ef0b1d1bf4d2d7ff49c228404">&#9670;&nbsp;</a></span>SOLVE_SUCCEEDED</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int org.coinor.Ipopt.SOLVE_SUCCEEDED = 0</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00134">134</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="aabd4d7c743b373810d1cf25c64099871"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aabd4d7c743b373810d1cf25c64099871">&#9670;&nbsp;</a></span>ACCEPTABLE_LEVEL</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int org.coinor.Ipopt.ACCEPTABLE_LEVEL = 1</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00135">135</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a1b66fa1fe9f3aafb1b9c35357b9d4a35"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b66fa1fe9f3aafb1b9c35357b9d4a35">&#9670;&nbsp;</a></span>INFEASIBLE_PROBLEM</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int org.coinor.Ipopt.INFEASIBLE_PROBLEM = 2</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00136">136</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a71cca49bd302b1242449eb3b393d348b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71cca49bd302b1242449eb3b393d348b">&#9670;&nbsp;</a></span>SEARCH_DIRECTION_TOO_SMALL</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int org.coinor.Ipopt.SEARCH_DIRECTION_TOO_SMALL = 3</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00137">137</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a18e6b30304b999c437d1ce5f8e363287"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18e6b30304b999c437d1ce5f8e363287">&#9670;&nbsp;</a></span>DIVERGING_ITERATES</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int org.coinor.Ipopt.DIVERGING_ITERATES = 4</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00138">138</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="abb69198b1498dbb9c51c56607406a414"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb69198b1498dbb9c51c56607406a414">&#9670;&nbsp;</a></span>USER_REQUESTED_STOP</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int org.coinor.Ipopt.USER_REQUESTED_STOP = 5</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00139">139</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a7f2a52a6c5606b6703f02035914a2552"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f2a52a6c5606b6703f02035914a2552">&#9670;&nbsp;</a></span>ITERATION_EXCEEDED</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int org.coinor.Ipopt.ITERATION_EXCEEDED = -1</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00140">140</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="ac7f5039b29dd61866610e3a8e8a403b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7f5039b29dd61866610e3a8e8a403b8">&#9670;&nbsp;</a></span>RESTORATION_FAILED</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int org.coinor.Ipopt.RESTORATION_FAILED = -2</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00141">141</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="ab7d1d406f9705fda644a3c1fdc31c904"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7d1d406f9705fda644a3c1fdc31c904">&#9670;&nbsp;</a></span>ERROR_IN_STEP_COMPUTATION</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int org.coinor.Ipopt.ERROR_IN_STEP_COMPUTATION = -3</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00142">142</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="af915b9705da65d4ec1dfaf7b5889c61c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af915b9705da65d4ec1dfaf7b5889c61c">&#9670;&nbsp;</a></span>CPUTIME_EXCEEDED</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int org.coinor.Ipopt.CPUTIME_EXCEEDED = -4</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00143">143</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a01a8754e65054cb811e22ad371258c36"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01a8754e65054cb811e22ad371258c36">&#9670;&nbsp;</a></span>WALLTIME_EXCEEDED</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int org.coinor.Ipopt.WALLTIME_EXCEEDED = -5</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section since"><dt>Since</dt><dd>3.14.0 </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00144">144</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a5b51f92e8764572d9c48569908a22dce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b51f92e8764572d9c48569908a22dce">&#9670;&nbsp;</a></span>NOT_ENOUGH_DEGREES_OF_FRE</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int org.coinor.Ipopt.NOT_ENOUGH_DEGREES_OF_FRE = -10</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00145">145</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a6601c123db771db778c4c25061327048"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6601c123db771db778c4c25061327048">&#9670;&nbsp;</a></span>INVALID_PROBLEM_DEFINITION</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int org.coinor.Ipopt.INVALID_PROBLEM_DEFINITION = -11</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00146">146</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="aa0b37ea4f81ff1dc33d0738a25aef2cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0b37ea4f81ff1dc33d0738a25aef2cd">&#9670;&nbsp;</a></span>INVALID_OPTION</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int org.coinor.Ipopt.INVALID_OPTION = -12</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00147">147</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a9005b727656170847da4498472d44be0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9005b727656170847da4498472d44be0">&#9670;&nbsp;</a></span>INVALID_NUMBER_DETECTED</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int org.coinor.Ipopt.INVALID_NUMBER_DETECTED = -13</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00148">148</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a40720118bf5c1cfe52c265700c1a7ab7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a40720118bf5c1cfe52c265700c1a7ab7">&#9670;&nbsp;</a></span>UNRECOVERABLE_EXCEPTION</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int org.coinor.Ipopt.UNRECOVERABLE_EXCEPTION = -100</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00149">149</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="ac3f7ebbac769cbf00c30a2d1e7ca124a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3f7ebbac769cbf00c30a2d1e7ca124a">&#9670;&nbsp;</a></span>NON_IPOPT_EXCEPTION</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int org.coinor.Ipopt.NON_IPOPT_EXCEPTION = -101</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00150">150</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a59b78aca47982a3930ff05caa43d89dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59b78aca47982a3930ff05caa43d89dd">&#9670;&nbsp;</a></span>INSUFFICIENT_MEMORY</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int org.coinor.Ipopt.INSUFFICIENT_MEMORY = -102</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00151">151</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="afd5a2fcda4688ceef6ad841d2cb7f627"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd5a2fcda4688ceef6ad841d2cb7f627">&#9670;&nbsp;</a></span>INTERNAL_ERROR</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int org.coinor.Ipopt.INTERNAL_ERROR = -199</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00152">152</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="af185184ae1fe687e64a5f5880c48813d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af185184ae1fe687e64a5f5880c48813d">&#9670;&nbsp;</a></span>REGULARMODE</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int org.coinor.Ipopt.REGULARMODE = 0</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section since"><dt>Since</dt><dd>3.14.0 </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00155">155</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a3f2f733983ced5bb2db465a6e9329a45"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f2f733983ced5bb2db465a6e9329a45">&#9670;&nbsp;</a></span>RESTORATIONPHASEMODE</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int org.coinor.Ipopt.RESTORATIONPHASEMODE = 1</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section since"><dt>Since</dt><dd>3.14.0 </dd></dl>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00156">156</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="aaccf6965122e89d86f4ac57d950787e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaccf6965122e89d86f4ac57d950787e7">&#9670;&nbsp;</a></span>ipopt</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long org.coinor.Ipopt.ipopt</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Pointer to the native optimization object. </p>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00159">159</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="ae7d529ffa405d16fb69750e855bc6a40"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7d529ffa405d16fb69750e855bc6a40">&#9670;&nbsp;</a></span>callback_grad_f</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double org.coinor.Ipopt.callback_grad_f[]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Callback arguments. </p>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00162">162</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a3d43f354d13771f3e7c45fe66949cdf0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d43f354d13771f3e7c45fe66949cdf0">&#9670;&nbsp;</a></span>callback_jac_g</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double org.coinor.Ipopt.callback_jac_g[]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00163">163</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a1294b1186358327819b4a02bbfedbd07"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1294b1186358327819b4a02bbfedbd07">&#9670;&nbsp;</a></span>callback_hess</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double org.coinor.Ipopt.callback_hess[]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00164">164</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a4d0279b61ddf81f2c137dc016b1f4c92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d0279b61ddf81f2c137dc016b1f4c92">&#9670;&nbsp;</a></span>x</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double org.coinor.Ipopt.x[]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Final value of variable values. </p>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00167">167</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a9cdb448d319b75a8ffad2ae1df8c6551"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9cdb448d319b75a8ffad2ae1df8c6551">&#9670;&nbsp;</a></span>obj_val</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double org.coinor.Ipopt.obj_val[] = {0}</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Final value of objective function. </p>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00170">170</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a46d765adde7a0da8980734b7c4f41aff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46d765adde7a0da8980734b7c4f41aff">&#9670;&nbsp;</a></span>g</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double org.coinor.Ipopt.g[]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Values of constraint at final point. </p>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00173">173</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="ab4cf62cbe73667cb903e9dcddae881dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab4cf62cbe73667cb903e9dcddae881dd">&#9670;&nbsp;</a></span>mult_x_L</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double org.coinor.Ipopt.mult_x_L[]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Final multipliers for lower variable bounds. </p>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00176">176</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a43a18366b435f807bb7dc9b28de4b7f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a43a18366b435f807bb7dc9b28de4b7f9">&#9670;&nbsp;</a></span>mult_x_U</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double org.coinor.Ipopt.mult_x_U[]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Final multipliers for upper variable bounds. </p>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00179">179</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="ab0910d0da9b1a0edc3dfb655abfdf0ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0910d0da9b1a0edc3dfb655abfdf0ea">&#9670;&nbsp;</a></span>mult_g</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double org.coinor.Ipopt.mult_g[]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Final multipliers for constraints. </p>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00182">182</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<a id="a54943c4b8f5c7658b32bd0a99b76589a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54943c4b8f5c7658b32bd0a99b76589a">&#9670;&nbsp;</a></span>status</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int org.coinor.Ipopt.status = <a class="el" href="classorg_1_1coinor_1_1Ipopt.html#a6601c123db771db778c4c25061327048">INVALID_PROBLEM_DEFINITION</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Status returned by the solver. </p>

<p class="definition">Definition at line <a class="el" href="Ipopt_8java_source.html#l00185">185</a> of file <a class="el" href="Ipopt_8java_source.html">Ipopt.java</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/Interfaces/<a class="el" href="Ipopt_8java_source.html">Ipopt.java</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</body>
</html>
